//
// Created by Toosan on 2022/4/27.
//

#include "iostream"

// 数组库 (向量)
#include "vector"

using namespace std;

void printInfo(const vector<int> &vector4);

void printInfo2(vector<int> vector4);

/**
 * 标准模板库学习  向量库
 * @return
 */
int main() {
    vector<int> vector1;
    // 指定大小为10
    vector<int> vector2(10);
    // 指定大小为10，每个数的大小为1
    vector<int> vector3(10, 0);
    vector<int> vector4;
    cout << vector3[1] << endl;
    // 在当前数组最前面插入一个数
    vector4.insert(vector4.begin(), 4);
    // 在当前数组最后面插入一个数
    vector4.insert(vector4.end(), 5);
    vector4.insert(vector4.begin(), 6);
    printInfo(vector4);
    // 默认修改第一个
    vector4.front() = 0;
    printInfo(vector4);
    // 默认修改最后一个
    vector4.back() = 99;
    printInfo2(vector4);

    return 0;
}

void printInfo(const vector<int> &vector4) {
    for (int i : vector4) {
        cout << i << " ";
    }
    cout << endl;
}

/**
 * 使用迭代器 （类似指针操作）
 * @param vector4
 */
void printInfo2(vector<int> vector4) {
//    for (vector<int>::iterator iteratorVar = vector4.begin(); iteratorVar != vector4.end(); iteratorVar++) {
//        cout << *iteratorVar << " ";
//    }
    // 自动类型推导
    for (auto iteratorVar = vector4.begin(); iteratorVar != vector4.end(); iteratorVar++) {
        cout << *iteratorVar << " ";
    }
    cout << endl;
}